<template>
	<view>
		<!--列表-->
		<scroll-view scroll-y="true" class="scroll-Y" :style="'height:' + scrollviewHigh + 'px;'" lower-threshold="50"
			@scrolltoupper="scrolltoupperFunc" @scrolltolower="scrolltolowerFunc">
			<view class="p-0-30 bg-white">
				<view class="d-b-c border-b p-20-0" v-for="(item,index) in tableData" :key="index">
					<view class="d-s-s f-w d-c flex-1">
						<text class="30">提现</text>
						<text class="gray9 f22">{{item.create_time}}</text>
					</view>
					<view class="d-c d-e-c">
						<text
							:class="item.apply_status.text=='审核通过'?'green':'gray9'">{{ item.apply_status.text }}</text>
						<text class="red ml20"> {{ item.money }}元</text>
						<!-- #ifdef  MP-WEIXIN -->
						<button class="theme-btn cash-btn" v-if="item.apply_status.value === 50"
							@click="receiptWx(item)">
							确认收款
						</button>
						<!-- #endif -->
						<!-- #ifdef  H5 -->
						<button class="theme-btn cash-btn" v-if="isWeixin() && item.apply_status.value === 50"
							@click="receiptMp(item)">
							确认收款
						</button>
						<!-- #endif -->
					</view>
				</view>

				<!--<view class="">
					<view class="bottom-refresh">
						<view class="d-c-c p30" v-if="tableData.length && no_more">
							<text class="gray3">亲, 没有更多了</text>
						</view>
						<view v-if="loading" class="d-c-c p30">
							<text class="gray3">加载中...</text>
						</view>
					</view>
				</view>-->

			</view>
			<!-- 没有记录 -->
			<view class="d-c-c p30" v-if="tableData.length==0 && !loading">
				<text class="iconfont icon-wushuju"></text>
				<text class="cont">亲，暂无相关记录哦</text>
			</view>
			<uni-load-more v-else :loadingType="loadingType"></uni-load-more>
		</scroll-view>

	</view>
</template>

<script>
	import uniLoadMore from "@/components/uni-load-more.vue";
	//#ifdef H5
	import jweixin from "weixin-js-sdk";
	//#endif
	export default {
		components: {
			uniLoadMore
		},
		data() {
			return {

				/*手机高度*/
				phoneHeight: 0,
				/*可滚动视图区域高度*/
				scrollviewHigh: 0,
				/*状态选中*/
				state_active: -1,
				/*数据列表*/
				tableData: [],
				no_more: false,
				loading: true,
				/*最后一页码数*/
				last_page: 0,
				/*当前页面*/
				page: 1,
				/*每页条数*/
				list_rows: 20,
				tableList: [],
				urldata: '',
				configData: {
					appid: '',
					mchid: ''
				}
			}
		},
		computed: {

			/*加载中状态*/
			loadingType() {
				if (this.loading) {
					return 1;
				} else {
					if (this.tableData.length != 0 && this.no_more) {
						return 2;
					} else {
						return 0;
					}
				}
			}
		},
		mounted() {
			/*初始化*/
			this.init();
			/*获取数据*/
			this.getData();
			if (this.getPlatform() == 'mp') {
				this.urldata = window.location.href;
			}
		},
		methods: {
			receiptWx(item) {
				let self = this;
				let id = item.id;
				let mchId = self.configData.mchid;
				let appId = self.configData.appid;
				let packageInfo = item.package_info;
				console.log('mchId:' + mchId);
				console.log('appId:' + appId);
				console.log('packageInfo:' + packageInfo);
				if (wx.canIUse('requestMerchantTransfer')) {
					wx.requestMerchantTransfer({
						mchId: mchId,
						appId: appId,
						package: packageInfo,
						success: (res) => {
							// res.err_msg将在页面展示成功后返回应用时返回ok，并不代表付款成功
							console.log('success:', res);
							self._post(
								"user.cash/receipt", {
									id: id,
								},
								function(data) {
									self.tableData = [];
									self.getData();
								}
							);

						},
						fail: (res) => {
							console.log('fail:', res);
						},
					});
				} else {
					wx.showModal({
						content: '你的微信版本过低，请更新至最新版本。',
						showCancel: false,
					});
				}
			},
			/*用户确认已收款*/
			receiptMp(item) {
				let self = this;
				let id = item.id;
				let mchId = self.configData.mchid;
				let appId = self.configData.appid;
				let packageInfo = item.package_info;

				// #ifdef H5
				// Dynamically fetch the sign package for WeChat JS-SDK
				self.getWxSignPackage(appId, function(signPackage) {
					jweixin.config({
						debug: false,
						appId: signPackage.appId,
						timestamp: signPackage.timestamp,
						nonceStr: signPackage.nonceStr,
						signature: signPackage.signature,
						jsApiList: ['requestMerchantTransfer']
					});

					jweixin.ready(function() {
						jweixin.checkJsApi({
							jsApiList: ['requestMerchantTransfer'],
							success: function(res) {
								if (res.checkResult['requestMerchantTransfer']) {
									WeixinJSBridge.invoke('requestMerchantTransfer', {
											mchId: mchId,
											appId: appId,
											package: packageInfo,
										},
										function(res) {
											if (res.err_msg ===
												'requestMerchantTransfer:ok') {
												// Proceed with the post request for receipt
												self._post(
													"user.cash/receipt", {
														id: id,
													},
													function(data) {
														self.tableData = [];
														self.getData();
													}
												);
											}
										});
								} else {
									alert('你的微信版本过低，请更新至最新版本。');
								}
							}
						});
					});

					jweixin.error(function(res) {
						console.log(res);
					});
				});
				// #endif
			},
			getWxSignPackage(appId, callback) {
				let self = this;
				this._post("index/getSignPackage", {
					url: this.urldata,
					paySource: self.getPlatform(),
				}, function(res) {
					callback(res.data.signPackage);
				});
			},
			/*初始化*/
			init() {
				let self = this;
				uni.getSystemInfo({
					success(res) {
						self.phoneHeight = res.windowHeight;
						self.scrollviewHigh = res.windowHeight;
					}
				});
			},
			/*获取数据*/
			getData() {
				let self = this;
				let page = self.page;
				self.loading = true;
				let list_rows = self.list_rows;
				self._get('user.cash/lists', {
					status: -1,
					page: page || 1,
					list_rows: list_rows,
					source: self.getPlatform(),
				}, function(data) {
					self.loading = false;
					self.configData = data.data.config;
					self.tableData = self.tableData.concat(data.data.list.data);
					self.last_page = data.data.list.last_page;
					if (data.data.list.last_page <= 1) {
						self.no_more = true;
						return false;
					}
				});
			},

			/*切换*/
			stateFunc(e) {
				let self = this;
				if (e != self.state_active) {
					self.tableData = [];
					self.page = 1;
					self.state_active = e;
					self.getData();
				}
			},

			/*可滚动视图区域到顶触发*/
			scrolltoupperFunc() {
				console.log('滚动视图区域到顶');
			},

			/*可滚动视图区域到底触发*/
			scrolltolowerFunc() {
				let self = this;
				if (self.page < self.last_page) {
					self.page++;
					self.getData();
				}
				self.no_more = true;
			}
		}
	}
</script>
<style lang="scss">
	.cash-btn {
		font-size: 24rpx;
	}
</style>